Sleep and environment monitor and recommendation engine

ABSTRACT

In some embodiments, the disclosed subject matter involves identifying environmental factors and user context that affect sleep quality. Embodiments use information about the static sleep environment, as well as dynamic environmental factors, such as sound, light, movement, correlated with user context, such as physical and emotional state, as well, as recent behavior to classify sleep data. The correlated and classified sleep data may be used to provide change recommendations, where implementing the recommended change is believed to improve the user&#39;s sleep quality. Other embodiments are described and claimed.

TECHNICAL FIELD

An embodiment of the present subject matter relates generally tomonitoring sleep quality of a user, and more specifically, to monitoringcharacteristics of sleep quality correlated with environmental factors,and providing automatic recommendations to the user.

BACKGROUND

Various mechanisms exist for monitoring wakefulness and sleep quality.However, people still struggle with getting enough quality sleep. Thereare over the counter products that measure the movement or stillness ofthe sleeper to identify restlessness in a sleep pattern. There are sleepstudies to measure things such as eye movements, blood oxygen levels inyour blood, heart and breathing rates, snoring, and body movements. Asleep study is often conducted in a room that is made to be comfortable,quiet and dark for sleeping.

BRIEF DESCRIPTION OF THE DRAWINGS

In the drawings, which are not necessarily drawn to scale, like numeralsmay describe similar components in different views. Like numerals havingdifferent letter suffixes may represent different instances of similarcomponents. Some embodiments are illustrated by way of example, and notlimitation, in the figures of the accompanying drawings in which:

FIG. 1 is a block diagram illustrating components of a sleep andenvironment monitor and recommendation engine, according to anembodiment;

FIG. 2 is a diagram illustrating how a user's activities before bed mayaffect sleep quality, according to an embodiment;

FIG. 3 is a flow diagram illustrating a method for monitoring sleep,environmental factors and other context for making recommendations,according to an embodiment, and

FIG. 4 is a block diagram illustrating an example of a machine uponwhich one or more embodiments may be implemented.

DETAILED DESCRIPTION

In the following description, for purposes of explanation, variousdetails are set forth in order to provide a thorough understanding ofsome example embodiments. It will be apparent, however, to one skilledin the art that the present subject matter may be practiced withoutthese specific details, or with slight alterations.

Embodiments of the present subject matter are a system and methodrelating to monitoring a person's sleep quality correlated withenvironmental factors, or context. One of the biggest failures ofexisting sleep monitoring methods is that they do not measureenvironmental factors and correlate them with sleep quality. Sometimespoor sleep quality is caused by stress or anxiety, but many times it isrelated to environmental issues. People may spend a lot of money onimproving the environment in their homes, for instance, buying windowblinds or shades to reduce light coming in, investing in double andtriple pane windows to reduce outside noise, buying a quieter heatingsystem/appliances, or even remodeling their home to move the sleepingarea to another location in the house. Sometimes a person may sleep in aseparate bedroom from their significant other due to snoring orexcessive sleep movement. But these attempts to improve sleep qualitymay prove fruitless because the decisions are not data driven. Peoplemay have a perception of what might be interrupting their sleep, but thepreconceived assumptions may not be accurate.

In at least one embodiment, a data driven approach is used to providepeople with recommendations for improving their sleep quality, based onphysical, emotional and environmental factors. With appropriaterecommendations, investment decisions may be better made bycharacterizing the impact of different environmental factors on actualsleep interruption and sleep quality. Sometimes, a simple behavioralchange may be all that is needed to improve sleep quality. Analysis ofthe sleep quality correlated with environmental factors allows insightinto root causes of poor sleep, and enables users to make bettertradeoffs.

Reference in the specification to “one embodiment” or “an embodiment”means that a particular feature, structure or characteristic describedin connection with the embodiment is included in at least one embodimentof the present subject matter. Thus, the appearances of the phrase “inone embodiment” or “in an embodiment” appearing in various placesthroughout the specification are not necessarily all referring to thesame embodiment, or to different or mutually exclusive embodiments.Features of various embodiments may be combined in other embodiments.

For purposes of explanation, specific configurations and details are setforth in order to provide a thorough understanding of the presentsubject matter. However, it will be apparent to one of ordinary skill inthe art that embodiments of the subject matter described may bepracticed without the specific details presented herein, or in variouscombinations, as described herein. Furthermore, well-known features maybe omitted or simplified in order not to obscure the describedembodiments. Various examples may be given throughout this description.These are merely descriptions of specific embodiments. The scope ormeaning of the claims is not limited to the examples given.

Today, sleep monitoring is becoming available through various wearables,smart phone sleep applications, electroencephalogram (EEG) headsets, oreven mats installed on top/below mattresses. These types of solutionsmay analyze sleep duration, interruption and even quality of sleep insome cases. Embodiments described herein also collect data from theenvironment to characterize possible triggers for sleep interruption,and analyze the sleep environment (e.g., sound events, sound levels,temperature, light, humidity, etc.). Sleep data is correlated withenvironmental data over an extended period of time to capture systemicissues with sleep interruptions/quality for the different environmentalfactors. This correlation may provide users with concrete evidence ofwhat is impacting their sleep. Based on the results of the analysis, thesystem may suggest a change in the environment, if there is novariability in the data collected. For example, if the bedroom is in anoisy environment and all the data collected show constant noise, thenit is hard to assess the advantage of a less noisy environment, otherthan by conjecture. The system may recommend that the user perform A/Btesting on the factors that are not varying in the dataset. A/B testing,sometimes called split testing, is a term for a randomized experimentwith two variants, A and B, which are the control and variation in thecontrolled experiment. In other words, in this context, a user willfirst try sleep with environmental factor A and then try sleep withenvironmental factor B. The results of factors A and B are compared todetermine which factor improves sleep quality. The user may try eachfactor temporarily, and when the system has enough data to determinewhich factor provides a better solution, implement the better solution.

FIG. 1 is a block diagram illustrating components of a sleep andenvironment monitor and recommendation engine, according to anembodiment. Sleep inference logic 110 may include logic for sensor datacollection 111 and sleep classification 113. Sleep inference logic 110may analyzes sleep data provided by a number of sensors. For instance,sensor data collection 111 may include, but is not limited to, datacollected by: an accelerometer on the person or sleep area (e.g., bed);heart rate monitor; EEG monitor; respiration monitor; skin temperaturedevice; etc. The sleep inference logic 110 may also include sleepclassification logic 113 which infers sleep quality based on factorsincluding: sleep duration; sleep interruption, etc. Sleep interruptionand duration may be inferred by movement of the sleeper, heart orrespiration differences, etc. For instance, if a sleeper gets up out ofbed every 30 minutes, it may be inferred that the sleeper had frequentsleep interruptions. In another example, if the sleeper is only asleepfor 4-5 hours, as measured by heart rate or respiration, then it may beinferred that the sleep duration was less than optimal. Variousparameters may be preset for different users. For instance, one user mayfeel rested after seven hours of uninterrupted sleep and another mayrequire nine hours of uninterrupted sleep to feel rested. Sensor datamay be provided by various wearable devices 180, head mounted devices(e.g., for EEG), or other infrastructure based devices.

Sleep environment inference logic 130 may be a combination of severalmodules or logic units that may analyze different aspects of the sleepenvironment. Audio analysis may be performed by logic units audiocontexts and decibel level 131 and audio event classification 132. Forinstance a sound pressure level (SPL) for the ambient sound, defined aslong-lasting and low energy, and audio events, defined as short durationand high-energy may be collected and analyzed. Long lasting audiosignals may include, for instance, ambient sounds such as noise from anHVAC component, static noise, music, or other long durationenvironmental noises. These long lasting audio signals may be classifiedby the audio context and dB level classification logic 131. Shortduration audio events may include sounds such as a baby crying, partnersnoring, human speech, dog barking, toilet flushing, door closing, a carhorn, or other specific short-term duration events, and may beclassified by the audio event classification logic 132. In an example,snoring from another person in bed or outside the room may be extractedand identified in audio event classification logic 132 by using audiofrom two microphones in the room and triangulating the snoring audio todetermine the location of the snorer. Initially, the system may beshipped with a generic classification model that works well acrosstraining data from a broad population of users. Over time the system mayadapt to the particular user's environment by occasionally prompting theuser to label sounds classified with low confidence levels. New audioclasses may be trained for the user if sufficient labeled data can beobtained.

Temperature and humidity monitoring for indoor, outdoor and deltabetween the two may be collected and analyzed by the temperaturehumidity monitoring logic 133. Light level monitoring logic 134 maycollect and monitor details about lights levels, for example, inimmediate proximity of the user, as well as ambient light, for instancecoming in through the window where there are cracks in the blinds.Motion detection logic 135 may receive sensor input from wearables 180worn by the user, or other sensors located in the sleep environment, forinstance accelerometers attached in or to the bed, to identify movementof the user or objects in the environment. In an example, a motiondetector may be present in the room that may identify movement of anyperson, pet or object in the room. Motion may identify that the user'spartner is tossing and turning in the bed, or that pet is pacing in theroom, or jumping on and off of the bed, etc. Various wearables 180 maybe used to detect movement of the user. For instance, a wrist wornaccelerometer as in a smart watch or a motion sensor using Dopplerinformation may be able to separate targets based on distance. Thus theDoppler input may enable the motion detecting logic 135 to distinguishbetween the user's movement and other movement. A correlation of thesensor data from multiple people in the home may be performed. Forinstance, sleep data may show interruption at the same time as otherhousehold members sleep.

Sleep location detection logic 136 may use wireless location sensingtechniques to identify where a person is in the household. Asemi-supervised learning approach may be used in sleep locationdetection logic 136 to identify personal significant places for user.For instance, the logic may infer which room the user is in and furtherin the case of bunk beds, for example, barometric readings may be usedto infer whether the user is on the top or the bottom bunk or possiblyon the floor. In an example, location and activity sensors may be usedto infer that when a user dozes off in the living room and then latermoves to the bedroom, the sleep quality is negatively impacted. Therecommendation engine 160, to be described more fully below, mayrecommend that the user goes to the bedroom earlier in the evening.

Appliance usage detection and maintenance tracking logic 137 mayidentify various electrical signatures of appliances in the home usingthe analysis of the audio context and decibel level logic 131. Someappliances in the home need regular maintenance to avoid audio eventsthat might disturb one's sleep. For instance, when a smoke alarm batteryis low or completely discharged, the smoke alarm may produce ahigh-pitched chirping sound until the battery is replaced. The user maystore maintenance event reminders in a database to include reminders forpreventive or repetitive maintenance items in the home, as a reminder toperform the maintenance before sleep interrupting audio signals areproduced by the appliance. It will be understood that the sleepenvironment factors and contextual factors as described herein are meantto be examples, and are not fully inclusive of factors that may becollected and used to correlate the sleep data.

Contextual inferencing logic 120 may include several modules or logic toprovide contextual information correlating sleep activities with theenvironment and user status (e.g., physical and emotional state).Sometimes other factors might be causing sleep disruption that are notrelated to the environment. It may be useful to separate these humanfactors from the environmental factors. For example, physical activityinformation, such as, time of exercise or intensity of exercise mayimpact sleep. Other activities may have a correlation to sleep time,such as eating before bed, or watching scary movies, etc. Activity tosleep time correlation logic 121 may be used to identify variousactivities of the user throughout the day, or other historical periodthat may affect sleep. Physical activity correlation logic 123 may beused to identify the user's exercise time, exercise duration, andexercise intensity and correlate with sleep. These factors may bedetermined from data collected by a wearable 180, such as a wrist worndevice, a smart phone application used to measure exercise, and/orsensors on the actual gym equipment that are configured be able toprovide data via an Internet of things (IoT) protocol to the user'snetwork. Stress level monitoring logic 125 may be used throughout theday to determine by physiological sensing, such factors to include:heart rate (HR), heart rate variability (HRV), galvanic skin response(GSR), audio sensing (e.g., stress from voice analysis), textualanalysis or speech analysis (e.g., sentiment analysis of speech inwritten text), visual or perceptual sensing (e.g., facial expressiondetection), etc. Other factors in the user's activity profile may beidentified, such as, calendar item analysis revealing back to backmeetings, or minimal free time during the day, etc. Location detectionlogic 127 may catalog the user's location throughout the day forcorrelation with specific activities and stress identification. Analysisof physiological and contextual factors may be correlated to identifythe times, location and magnitude of stressors.

Other factors may be used in the correlation such as the user's diet,sugar, caffeine or alcohol intake, etc. In an example, the user's foodand beverage intake may be self-cataloged (e.g., journaled), oridentified through visual or motion means. Food and beverage intake mayalso be inferred based on time, location and duration. For instance, ifthe user enters a coffee shop at 8 AM, as indicated by locationidentification and clock, intake of caffeinated beverage may beinferred. If the user enters a bar at 5 PM, an inference may be madethat alcoholic beverages are being consumed at happy hour. If the userenters a gym where the user has a membership, and stays for 60 minutes,an inference of exercise may be made. Confidence of activity orfood/beverage intake may be increased by correlating location, time andmovement or visual images. In an embodiment, the system may prompt theuser at a new location to identify an activity. If the user answers withthe same activity multiple times, the confidence level of the inferencemay be increased. In an embodiment, the system may prompt the user onlythe first time a new location is identified, or prompt the user apre-selected number of times to identify an activity. In an embodiment,the system may prompt the user for confirmation of activity in afrequented location at a pre-selected periodicity.

Activities outside of the sleep environment may be collected by awearable or other device carried with the user, for later upload (orimmediate transmission via a network) to the sleep and environmentalmonitoring system. In an example, if drinking, a user may repeat amotion or bending the elbow and raising a hand toward the mouth.Identification of drink vs. eating may be made by correlating analysisof either audio (e.g., chewing vs. drinking noises) or video (e.g.,visually identifying food vs. drink). In an example, the user may updatea profile indicating correlation between favorite places and activitiesfor more accurate inferences. For instance, the user may conduct aregular 30 minute express workout twice per week, and a full 60 minutecardio workout once a week. The user may enter a predeterminedcorrelation between a 60 minute stay at the gym with the 30 minuteexpress workout, and a 90 minute stay at the gym with the 60 minuteworkout. Thus, confidence levels for inference based on those locationsand activities may be improved.

Contextual inferencing logic 120 may use the factors to provide acorrelation between activity levels and sleep quality. Cause and effectfor these factors may be inferred, such as, exercise immediately priorto going to bed may adversely affect the user sleep. Other activitiessuch as watching television or a movie on DVD may cause inferences as tothe user's state of mind. For instance, when the user is watching ahorror film or scary movie, the user's heart rate may increase and otheranxiety levels may be measured by a variety of wearable devices. Thus, acorrelation may be made between watching a scary movie immediately priorto bedtime and poor sleep quality. However, if the user watches thescary movie several hours prior to bedtime, this activity may notadversely affect sleep quality. Data related to factors such asactivity, activity level, duration, diet, physiological factors, andproximity to bedtime may be collected and stored in a historicaldatabase for later correlation analysis, and comparison with othercombinations of factors and correlated sleep quality measures.

Other physiological measurements may be collected, classified and usedin the correlation. For instance, wellness indicators may be used toinfer that the user does not sleep well when experiencing a cold, flu ortaking certain medications. Illness factors may be observed throughvisual or audio means, for instance, if the user coughs a lot a cold maybe indicated. In another example, the user may keep a running log ofhealth or illness factors, or emotional state. Those factors will beassociated with a time and location and may then be used in correlationwith sleep quality.

Additional environmental context may be used in the contextualinference. For instance, weather and weather changes may affect theuser's sleep quality. In an example, the user's location is identifiedand local weather information is accessed. Weather conditions andweather changes may be recorded for correlation. In an example, the usermay find that sleep quality is decreased when the barometric pressure islow. In another example, the user may find that a quick shift from sunnyweather to damp and dreary weather may cause sadness, which in turn maybe inferred to cause poor sleep quality. Also weather may impact sleepquality due to the sound of thunder, rain hitting the windows, or loudwind blowing, etc.

In an embodiment, database 150 may store collected sensor data, userprofiles and preferences, historical sleep sensing data, and sets ofcorrelation data. In an embodiment, the database 150 may store the datafrom the sleep sensing, sleep environment inference and contextualinference logic components, to be used in mining for correlations, andrecommendations. The database may also hold potential home improvementitems and their effect on noise. For instance, if the current HVAC unitis noisy, recommendations for future replacement may be stored. Somefactors related to environmental characteristics may be prepopulated inthe database, while other factors may be learned over time (as discussedbelow). Items in the database may be flat, hierarchical or relational. Acharacteristic may be associated with a keyword to be used by miningrecommendation and correlation logic. For example, a specific brand ofrecommended window blinds may be associated with a light rating, and bestored with a keyword “natural light control,” as well as, othercharacteristics such as pricing, dimensions and automation requirements.

In an embodiment, correlation engine 140 is responsible for mining data,for instance stored in database 150, by the collection and analysislogic components, as described above. The correlation engine 140 maygenerate features from the various inference components and identifycorrelations across this robust and longitudinal dataset. Thecorrelation engine 140 may identify these correlations, and generatehypothesis for the user for further A/B testing, to improve sleepquality. The correlation engine 140 may determine which environmentalfactors are likely to impact sleep most, given different contextualfactors that occurred outside of sleep.

In an embodiment, historical information related to correlation ofenvironmental factors with sleep quality for many users may be eitherstored in the database 150 or accessed from a local or networkcrowd-sourced data server 170. The crowd-sourced data server 170 mayshare and query some common sleep correlation data from other users. Forexample, a determined correlation may be that a memory foam bed helpsduring recovery from back surgery. In another example, a user may wantto know if a certain type of triple pane window will block noise fromsiren and traffic noises in the user's neighborhood. The user may querythe crowd-sourced data server 170 to see if any such correlations havebeen made by another user's correlation engine, and sent to the server170, for similar criteria. In another example, a user may want to knowfor a house built by a certain builder in 1965, how soon floor boardsneed to be replaced or nailed down to prevent squeaking in high trafficareas. The sensed data, replacement history and effect of the floorboard replacement may have been collected and tagged for futureretrieval from the server 170. This environmental data, and subsequentanalysis and correlation is learned in a specific household, and thenoptionally shared with others via the crowd-sourced data server 170. Inan embodiment, a user may select which types of data may be shared, andwhich are to be kept private, in a user profile stored in either thedatabase 150 and/or the server 170. A user may also choose that the datais anonymous or attributable to the user, in the profile.

In an embodiment, recommendation engine 160 is responsible for analyzingpotential changes in the environment or user state, and providing theuser with recommendations. The recommendation engine 160 may rely onstate of the art collaborative filtering. In an embodiment, a user'sbudget, stored and maintained in database 150, in a user profile, may befactored in with other constraints and correlations for recommending achange in the environment. In an embodiment, the recommendation engine160 may identify changes in home value, aesthetics, or even a multi-stepimprovement plan before providing a recommendation. In an embodiment,the recommendation engine 160 may receive advertisement and guaranteeinformation for merchants (e.g., retailers, wholesalers, big boxwarehouse clubs, suppliers, etc.). The merchants may provide informationon sound proofing window parameters for use in a recommendation for newwindows, for instance, when the correlation engine 140 indicates thatloud outdoor noises are the cause of poor sleep quality. Therecommendation engine 160 may identify the sound proofing qualities ofvarious windows offered, the pre-determined budget of the user, andhistorical data regarding dB of nighttime outdoor noise to make arecommendation for a specific window product for purchase. In anembodiment, the merchant may provide massage services to a user who hasbeen experiencing poor sleep due to stress, and indicated in thecontextual inferencing logic 120 and identified by the correlationengine 140.

FIG. 2 is a diagram illustrating how a user's activities before bed mayaffect sleep quality, according to an embodiment. In an example,watching television or a movie may be a classifiable event. In thisexample, three different scenarios are shown. The first scenario 210illustrates user 200 watching a scary movie at 11 PM. The secondscenario 220 illustrates user 200 watching a calm documentary at 11 PM.The third scenario 230 illustrates user 200 watching a scary movie at 7PM. Horizontal lines 211, 221 and 231 illustrate audio events occurringon the user's timeline from about midnight to 7 AM. It should be notedthat for this example, the same audio events occur at the same time ineach scenario 210,220, 230. Horizontal lines 213, 223 and 233 illustratetimelines for sleep stages and reactions to the various environmentalaudio events on the audio event timelines (211, 221, 231), correspondingto the respective pre-bedtime activity in scenarios 210, 220 and 230.Sleep stages are illustrated as light, deep and REM and each sleep stagecommences with a small circle or “o,” and terminates with a small “x.”In this example, it can be seen that user 200 experiences a sleepinterruption 217 at the time of audio event 215. In an example, audioevent 215 is a car backfiring outside the bedroom window. The correlateddata shows that user 200 sleeps blissfully through this potentiallystartling audio event 215 when the pre-bedtime activity was eitherwatching a calm documentary in scenario 220, or watching a scary movieearly in the evening in scenario 230. Correlation engine 140 may minethe data related to audio events and sleep interruptions withpre-bedtime activities. Recommendation engine 160 may use the correlateddata to suggest to user 200 to watch a scary movie earlier in theevening or watch something else. In an embodiment, the recommendationengine 160 may have access to real time viewing activity of the user200, and make the recommendation to the user 200 if a scary movie (e.g.,horror category) is tuned in on the user's set top box or Internet feed(e.g., entertainment streaming sites such as provided by NETFLIX® orHULU®).

In an embodiment, a night's sleep may be described by a vector offeatures or elements that may contribute to the quality of the sleep.For instance, a qualitative measure of sleep may be derived from aweighted combination of feature vectors describing the a night's sleep,where components of the vectors may include such factors as: “durationof time in deep sleep,” “duration of time in light sleep”, “duration oftime in REM sleep,” “sleep duration,” “number of sleep interrupts,”“duration of sleep interrupts,” “offset of go to sleep time from medianhabitual go to sleep time,” “offset of go to bed time from medianhabitual go to bed time,” “time to go to sleep,” “audio eventsassociated with sleep interrupt,” “light levels associated with sleepinterrupt,” etc. In an example, correlation in the sleep measure may becalculated using Eq. (1).

$\begin{matrix}{{{similarity} = {{\cos (\theta)} = {\frac{A \cdot B}{{A}{B}} = \frac{\sum\limits_{i = 1}^{n}{A_{i}B_{i}}}{\sqrt{\sum\limits_{i = 1}^{n}A_{i}^{2}}\sqrt{\sum\limits_{i = 1}^{n}B_{i}^{2}}}}}},} & {{Eq}.\mspace{11mu} (1)}\end{matrix}$

where A_(i) and B_(i) are components of vectors A and B, respectively.

In the example in FIG. 2, using the cosine similarity, it can be seenthat scenario 220 and scenario 230 (e.g., 11 PM documentary and the 7 PMscary movie) are more similar to each other than either scenario 220,230 is to scenario 210 (e.g., 11 PM scary movie). Thus, if scenario 220is measured as qualitative good sleep, then it may be inferred thatscenario 230 also resulted in good sleep. However, if the sleepinterruption causes the night's sleep to be measured as bad, fair,interrupted, or some other measure other than good, then it may beinferred that watching scary movies close to bedtime has a causalrelationship with bad sleep.

FIG. 3 is a flow diagram illustrating a method 300 for monitoring sleep,environmental factors and other context for making recommendations,according to an embodiment. In an embodiment, a system for sleep andcontext monitoring may collect or retrieve environmental data andparameters in block 301. Information about the environmental context,for instance, lighting, noise, room dimensions and parameters, etc., maybe retrieved from the database based on a determination of the user'slocation and time of day. An initial set of parameters for theenvironment may be preset in the database. User context may be collectedand inferred in block 303. Various criteria for the user may becollected, such as, emotional state, physical state, recent activity,stress level, etc., as discussed above. This contextual data may bestored in a database, and/or be sent directly to a correlation engine.

Biometrics and other sleep data, herein referred to as sleep data forsimplicity, may be collected in real time just prior to, during, andjust after a sleep cycle of the user, in block 305. Sleep data may becollected from wearables, motion detectors, cameras, microphones, etc.to identify the state of the user before, during and after sleep. A setof data may be associated with a specific sleep cycle. A sleep cycle mayinclude the time duration from beginning of sleep until the user gets upin the morning (or evening of on night shift, for instance). A sleepcycle may include a period immediately prior to sleep and immediatelyafter waking up. The extension of time on either end may bepre-programmed or user definable. This data may be tagged with: a userID (e.g., an anonymous identification or distinctive identification);location, time/date (e.g., temporal factor tag); and other informationto be used for correlating with environmental factors. Environmentaldata may be collected in real time during a sleep cycle in block 307.Various environmental factors may be collected or inferred, as discussedabove, such as, but not limited to, audio events, long duration audio,temperature, light, location in sleep area, orientation or position ofthe user relative to other environmental elements, etc. The biometricand sleep data, and environmental data may be stored in the databaseand/or send directly to correlation logic.

A module, logic or component for correlation may access or receive thecontextual, environmental and sleep data to correlate various activitieswith user and environmental context, in block 309. A correlation may beassociated with a sleep quality measurement for use in recommendingimprovements and/or to provide to a crowd-sourcing component. Forinstance, a pre-bedtime activity may be correlated with a stress level,time of day, location, environmental factors, and sleep quality index ascomponents of the correlation. In example, as discussed above forscenario 210, a correlation may include the following factors:activity=scary movie within 30 minute sleep; stress level high, asindicated by blood pressure and heart rate; date/time=2017-Feb-01/00:00PST; location=bedroom facing east; environment=dark95%, 10 dB longduration, 45 dB event at 03:30 PST; sleep quality=5 (out of 10). Sleepquality may be measured and inferred based on user feedback or objectivemeasures such as wakefulness, or how long it takes to fall asleep againafter an interruption, biometrics upon waking (e.g., bloodshot eyes,constant yawning, cheerfulness, etc.). Based on user preferences,multiple correlations may be formed from the same data, or subsets ofdata, for the same or similar time periods. In an example, pre-sleepactivities may be omitted and just the stress level used in thecorrelation. Using various subsets enables an inference engine to infera good or poor sleep quality based on a stress level, regardless of whatcaused the stress level. These subsets, or more generic or specificcorrelations may be helpful for future correlations, recommendations, orcrowd-sourcing. If a user opts-in, correlations may be shared with acrowd-source data server, either locally or over a network such as theInternet, to a cloud server. A user may set a level for sharing in alocal profile. For instance, the user may choose to mask, obscure orredact information including distinct identification, geographiclocation, pre-sleep activities, etc.

In an embodiment, a recommendation engine accesses correlations providedby other users from the crowd-source data server, in block 311.Correlations, with or without crowd-sourced data, may be stored and/orforwarded to the recommendation engine. The recommendation engine mayaccess various levels of correlations and user profile data to providethe user with one or more recommendations, in block 313. In an example,only correlations that have similar criteria for a subset of factors maybe deemed relevant and used for recommendation. For instance, a defaultrelevance rule set may be provided with the sleep and context monitoringsystem. In an embodiment, the user may modify these parameters. Forexample, a user may only want to use crowd-sourced data from users withspecific common demographics (e.g., age, ethnicity, weight, height,geographic area, etc.). The recommendation engine may retrieveinformation about user budget, static environment factors (e.g., windowshade light blocking levels, ambient or long duration appliance noise,frequency of audio events above a dB threshold, geographic location,usual room temperature and humidity, etc.). The recommendation enginemay include a number of rules or inference-based learning thatidentifies factors that are modifiable (e.g., replacing shades, windows,appliances, changing behavior or activities, obtaining a device tomitigate snoring or sleep apnea in the user or user's partner, etc.).Once potential changes are identified that are likely to improve theuser's sleep quality, the recommendation(s) may be stored in thedatabase for later retrieval or sent to the user via email, shortmessage service, automated recorded telephone call, or other means. Oncethe user implements a recommended change, this change may be identifiedwhen environmental data and parameters are collected for a subsequentiteration of monitoring, inference, correlation and recommendation.

FIG. 4 illustrates a block diagram of an example machine 400 upon whichany one or more of the techniques (e.g., methodologies) discussed hereinmay perform. In alternative embodiments, the machine 400 may operate asa standalone device or may be connected (e.g., networked) to othermachines. In a networked deployment, the machine 400 may operate in thecapacity of a server machine, a client machine, or both in server-clientnetwork environments. In an example, the machine 400 may act as a peermachine in peer-to-peer (P2P) (or other distributed) networkenvironment. The machine 400 may be a personal computer (PC), a tabletPC, a set-top box (STB), a personal digital assistant (PDA), a mobiletelephone, a web appliance, a network router, switch or bridge, or anymachine capable of executing instructions (sequential or otherwise) thatspecify actions to be taken by that machine. Further, while only asingle machine is illustrated, the term “machine” shall also be taken toinclude any collection of machines that individually or jointly executea set (or multiple sets) of instructions to perform any one or more ofthe methodologies discussed herein, such as cloud computing, software asa service (SaaS), other computer cluster configurations.

Examples, as described herein, may include, or may operate by, logic ora number of components, or mechanisms. Circuitry is a collection ofcircuits implemented in tangible entities that include hardware (e.g.,simple circuits, gates, logic, etc.). Circuitry membership may beflexible over time and underlying hardware variability. Circuitriesinclude members that may, alone or in combination, perform specifiedoperations when operating. In an example, hardware of the circuitry maybe immutably designed to carry out a specific operation (e.g.,hardwired). In an example, the hardware of the circuitry may includevariably connected physical components (e.g., execution units,transistors, simple circuits, etc.) including a computer readable mediumphysically modified (e.g., magnetically, electrically, moveableplacement of invariant massed particles, etc.) to encode instructions ofthe specific operation. In connecting the physical components, theunderlying electrical properties of a hardware constituent are changed,for example, from an insulator to a conductor or vice versa. Theinstructions enable embedded hardware (e.g., the execution units or aloading mechanism) to create members of the circuitry in hardware viathe variable connections to carry out portions of the specific operationwhen in operation. Accordingly, the computer readable medium iscommunicatively coupled to the other components of the circuitry whenthe device is operating. In an example, any of the physical componentsmay be used in more than one member of more than one circuitry. Forexample, under operation, execution units may be used in a first circuitof a first circuitry at one point in time and reused by a second circuitin the first circuitry, or by a third circuit in a second circuitry at adifferent time.

Machine (e.g., computer system) 400 may include a hardware processor 402(e.g., a central processing unit (CPU), a graphics processing unit(GPU), a hardware processor core, or any combination thereof), a mainmemory 404 and a static memory 406, some or all of which may communicatewith each other via an interlink (e.g., bus) 408. The machine 400 mayfurther include a display unit 410, an alphanumeric input device 412(e.g., a keyboard), and a user interface (UI) navigation device 414(e.g., a mouse). In an example, the display unit 410, input device 412and UI navigation device 414 may be a touch screen display. The machine400 may additionally include a storage device (e.g., drive unit) 416, asignal generation device 418 (e.g., a speaker), a network interfacedevice 420, and one or more sensors 421, such as a global positioningsystem (GPS) sensor, compass, accelerometer, or other sensor. Themachine 400 may include an output controller 428, such as a serial(e.g., universal serial bus (USB), parallel, or other wired or wireless(e.g., infrared (IR), near field communication (NFC), etc.) connectionto communicate or control one or more peripheral devices (e.g., aprinter, card reader, etc.).

The storage device 416 may include a machine readable medium 422 onwhich is stored one or more sets of data structures or instructions 424(e.g., software) embodying or utilized by any one or more of thetechniques or functions described herein. The instructions 424 may alsoreside, completely or at least partially, within the main memory 404,within static memory 406, or within the hardware processor 402 duringexecution thereof by the machine 400. In an example, one or anycombination of the hardware processor 402, the main memory 404, thestatic memory 406, or the storage device 416 may constitute machinereadable media.

While the machine readable medium 422 is illustrated as a single medium,the term “machine readable medium” may include a single medium ormultiple media (e.g., a centralized or distributed database, and/orassociated caches and servers) configured to store the one or moreinstructions 424.

The term “machine readable medium” may include any medium that iscapable of storing, encoding, or carrying instructions for execution bythe machine 400 and that cause the machine 400 to perform any one ormore of the techniques of the present disclosure, or that is capable ofstoring, encoding or carrying data structures used by or associated withsuch instructions. Non-limiting machine readable medium examples mayinclude solid-state memories, and optical and magnetic media. In anexample, a massed machine readable medium comprises a machine readablemedium with a plurality of particles having invariant (e.g., rest) mass.Accordingly, massed machine-readable media are not transitorypropagating signals. Specific examples of massed machine readable mediamay include: non-volatile memory, such as semiconductor memory devices(e.g., Electrically Programmable Read-Only Memory (EPROM), ElectricallyErasable Programmable Read-Only Memory (EEPROM)) and flash memorydevices, magnetic disks, such as internal hard disks and removabledisks; magneto-optical disks; and CD-ROM and DVD-ROM disks.

The instructions 424 may further be transmitted or received over acommunications network 426 using a transmission medium via the networkinterface device 420 utilizing any one of a number of transfer protocols(e.g., frame relay, internet protocol (IP), transmission controlprotocol (TCP), user datagram protocol (UDP), hypertext transferprotocol (HTTP), etc.). Example communication networks may include alocal area network (LAN), a wide area network (WAN), a packet datanetwork (e.g., the Internet), mobile telephone networks (e.g., cellularnetworks), Plain Old Telephone (POTS) networks, and wireless datanetworks (e.g., Institute of Electrical and Electronics Engineers (IEEE)802.11 family of standards known as Wi-Fi®, IEEE 802.16 family ofstandards known as WiMax®), IEEE 802.15.4 family of standards,peer-to-peer (P2P) networks, among others. In an example, the networkinterface device 420 may include one or more physical jacks (e.g.,Ethernet, coaxial, or phone jacks) or one or more antennas to connect tothe communications network 426. In an example, the network interfacedevice 420 may include a plurality of antennas to wirelessly communicateusing at least one of single-input multiple-output (SIMO),multiple-input multiple-output (MIMO), or multiple-input single-output(MISO) techniques. The term “transmission medium” shall be taken toinclude any intangible medium that is capable of storing, encoding orcarrying instructions for execution by the machine 400, and includesdigital or analog communications signals or other intangible medium tofacilitate communication of such software.

Additional Notes and Examples

Examples may include subject matter such as a method, means forperforming acts of the method, at least one machine-readable mediumincluding instructions that, when performed by a machine cause themachine to performs acts of the method, or of an apparatus or system formonitoring context related to sleep quality and providingrecommendations to the user, according to embodiments and examplesdescribed herein.

Example 1 is a system for monitoring context related to sleep quality inan environment, comprising: a database configured to store sensor data,user profiles, user preferences, sleep data, a plurality of correlationdata, environmental factors, and context data; a correlation engine tocorrelate the environmental factors with the context and sleep datacorresponding to a user, the environmental factors, context and sleepdata to be retrieved from the database, the correlation engine arrangedto provide a set of correlated data, wherein the plurality ofenvironmental factors, context and sleep data are to be collected by oneor more sensors communicatively coupled to the system, when inoperation; and a recommendation engine arranged to analyze the set ofcorrelated data and at least one possible change, wherein the possiblechange is a change to either the environment or user behavior, andwherein the recommendation engine is arranged to provide at least onerecommendation for change, wherein the at least one recommendation is tobe stored in the database.

In Example 2, the subject matter of Example 1 optionally includes theone or more sensors communicatively coupled to the system, wherein theone or more sensors comprise at least one physiological, biometrical orenvironmental sensing device.

In Example 3, the subject matter of Example 2 optionally includeswherein the one or more sensors communicatively coupled to the systemare selected from a group of sensors consisting of an accelerometer, aheart rate monitor, an EEG monitor, a respiration monitor, a skintemperature monitor, a motion detector, an ambient temperature monitor,an audio capture device, a video capture device, a sound pressuredevice, a wireless location sensing device, a barometric pressuremonitor, a global positioning sensor, and a compass.

In Example 4, the subject matter of any one or more of Examples 1-3optionally include contextual inferencing logic to identify, byinference, a context classification associated with sensor or perceptualreadings, the readings associated with the user or the environment orbehavior of the user, wherein the context classification is to be usedby the correlation engine and provided with the set of correlated data.

In Example 5, the subject matter of Example 4 optionally includeswherein the contextual classification comprises at least one contextualfactor associated with the user, the at least one contextual factorincluding duration of time in deep sleep, duration of time in lightsleep, duration of time in REM sleep, sleep duration, number of sleepinterrupts, duration of sleep interrupts, offset of go to sleep timefrom median of habitual go to sleep time, offset of go to bed time frommedian of habitual go to bed time, time to go to sleep, audio eventsassociated with sleep interrupt, or light levels associated with sleepinterrupt.

In Example 6, the subject matter of any one or more of Examples 4-5optionally include wherein the contextual classification comprises atleast one contextual factor associated with the user, the at least onecontextual factor including sleep time, recent activity, stress level,or location.

In Example 7, the subject matter of any one or more of Examples 4-6optionally include sleep environment inferencing logic to analyzeaspects of the environment affecting sleep quality, wherein to analyzeaspects of the environment is to classify measurable data associatedwith at least one short term or long term event, wherein the eventclassification is to be used by the correlation engine and provided withthe set of correlated data.

In Example 8, the subject matter of Example 7 optionally includeswherein the at least one short term or long term event is associatedwith a person in the environment other than the user.

In Example 9, the subject matter of any one or more of Examples 7-8optionally include wherein the aspects of the environment affectingsleep quality are to be collected by at least one of a wearable deviceworn by the user or a sensor in proximity of the environment.

In Example 10, the subject matter of any one or more of Examples 7-9optionally include wherein the aspects of the environment affectingsleep quality include at least one of audio context, decibel level,temperature, humidity, light level, motion detection, or sleep location.

In Example 11, the subject matter of any one or more of Examples 7-10optionally include sleep inference logic to analyze sensor dataassociated with a sleep cycle of the user, the analysis to identify, byinference, a sleep quality measure, the sleep quality measure to be usedby the correlation engine and provided with the set of correlated data.

In Example 12, the subject matter of Example 11 optionally includeswherein a short term or long term event is associated with a person inthe environment other than the user, and wherein the sleep inferencelogic is to correlate the short term or long term event with the sleepquality measure.

In Example 13, the subject matter of any one or more of Examples 11-12optionally include wherein the sensor data associated with a sleep cycleof the user are to be collected by at least one of a wearable deviceworn by the user or a sensor in proximity of the user.

In Example 14, the subject matter of any one or more of Examples 1-13optionally include wherein at least a portion of the set of correlateddata is provide to a crowd-sourced data server to be used in makingrecommendations to a second user, wherein the portion is selected basedon a profile associated with user that defines data permissible to sharewith the second user.

In Example 15, the subject matter of any one or more of Examples 1-14optionally include wherein the recommendation engine is to accesscorrelated data from a second user via a crowd-sourced data server, thecorrelated data from a second user to be used in the analysis ofpossible changes to the environment or behavior of the user to assist inproviding the recommendation for change.

Example 16 is a computer implemented method for correlating contextrelated to sleep quality, comprising: correlating at least one of staticenvironmental data, context of a user, or environmental event data withsleep data of the user, as correlated sleep data, wherein thecorrelation is associated with a common temporal factor; identifying inthe correlated sleep data, combinations of contextual and environmentalfactors that affect the sleep quality of the user; and providing achange recommendation to the user, wherein the change recommendation isto recommend a change in at least one of the static environment or userbehavior.

In Example 17, the subject matter of Example 16 optionally includesaccessing correlated sleep, environmental and context data associatedwith a second user for use in providing the change recommendation to theuser.

In Example 18, the subject matter of Example 17 optionally includesaccessing the data associated with the second user from a crowd-sourceddata server.

In Example 19, the subject matter of any one or more of Examples 16-18optionally include providing at least a portion of the correlated sleepdata to a crowd-sourced data server to be used in making recommendationsfor a second user, wherein the portion is selected based on a profileassociated with user, the profile defining data permissible to sharewith the second user.

In Example 20, the subject matter of any one or more of Examples 16-19optionally include identifying static environmental data and parameters;identifying user context including physical state, emotional state,recent activity, or stress level; identifying sleep data of the userduring a sleep cycle; and identifying an environmental event that occurduring the sleep cycle, wherein the environmental event includes audio,visual or motion events of short or long duration, wherein theidentified static environmental data and parameters, user context, sleepdata of the user, and the environmental event are correlated in thecorrelating to provide a set of correlated data.

Example 21 is at least one computer readable storage medium havinginstructions for correlating context related to sleep quality storedthereon, the instructions when executed on a machine cause the machineto: correlate at least one of static environmental data, context of auser, or environmental event data with sleep data of the user, ascorrelated sleep data, wherein the correlation is associated with acommon temporal factor; identify in the correlated sleep data,combinations of contextual and environmental factors that affect thesleep quality of the user; and provide a change recommendation to theuser, wherein the change recommendation is to recommend a change in atleast one of the static environment or user behavior.

In Example 22, the subject matter of Example 21 optionally includesinstructions to: access correlated sleep, environmental and context dataassociated with a second user for use in providing the changerecommendation to the user.

In Example 23, the subject matter of Example 22 optionally includesinstructions to access the data associated with the second user from acrowd-sourced data server.

In Example 24, the subject matter of any one or more of Examples 21-23optionally include instructions to: provide at least a portion of thecorrelated sleep data to a crowd-sourced data server to be used inmaking recommendations for a second user, wherein the portion isselected based on a profile associated with user, the profile definingdata permissible to share with the second user.

In Example 25, the subject matter of any one or more of Examples 21-24optionally include instructions to: identify static environmental dataand parameters; identify user context including physical state,emotional state, recent activity, or stress level; identify sleep dataof the user during a sleep cycle; and identify an environmental eventthat occur during the sleep cycle, wherein the environmental eventincludes audio, visual or motion events of short or long duration,wherein the identified static environmental data and parameters, usercontext, sleep data of the user, and the environmental event arecorrelated in the correlating to provide a set of correlated data.

Example 26 is a system for correlating context related to sleep quality,comprising: means for correlating at least one of static environmentaldata, context of a user, or environmental event data with sleep data ofthe user, as correlated sleep data, wherein the correlation isassociated with a common temporal factor; means for identifying in thecorrelated sleep data, combinations of contextual and environmentalfactors that affect the sleep quality of the user; and means forproviding a change recommendation to the user, wherein the changerecommendation is to recommend a change in at least one of the staticenvironment or user behavior.

In Example 27, the subject matter of Example 26 optionally includesmeans for accessing correlated sleep, environmental and context dataassociated with a second user for use in providing the changerecommendation to the user.

In Example 28, the subject matter of Example 27 optionally includesmeans for accessing the data associated with the second user from acrowd-sourced data server.

In Example 29, the subject matter of any one or more of Examples 26-28optionally include means for providing at least a portion of thecorrelated sleep data to a crowd-sourced data server to be used inmaking recommendations for a second user, wherein the portion isselected based on a profile associated with user, the profile definingdata permissible to share with the second user.

In Example 30, the subject matter of any one or more of Examples 26-29optionally include means for identifying static environmental data andparameters; means for identifying user context including physical state,emotional state, recent activity, or stress level; means for identifyingsleep data of the user during a sleep cycle; and means for identifyingan environmental event that occur during the sleep cycle, wherein theenvironmental event includes audio, visual or motion events of short orlong duration, wherein the identified static environmental data andparameters, user context, sleep data of the user, and the environmentalevent are correlated in the correlating to provide a set of correlateddata.

Example 31 is at least one computer readable storage medium havinginstructions for correlating context related to sleep quality storedthereon, the instructions when executed on a machine cause the machineto perform the method of any of Examples 16-20.

Example 32 is a system for correlating context related to sleep qualitystored thereon, comprising means to perform the method of any ofExamples 16-20.

Example 33 is a system configured to perform operations of any one ormore of Examples 1-30.

Example 34 is a method for performing operations of any one or more ofExamples 1-30.

Example 35 is at least one machine readable medium includinginstructions that, when executed by a machine cause the machine toperform the operations of any one or more of Examples 1-30.

Example 36 is a system comprising means for performing the operations ofany one or more of Examples 1-30.

The techniques described herein are not limited to any particularhardware or software configuration; they may find applicability in anycomputing, consumer electronics, or processing environment. Thetechniques may be implemented in hardware, software, firmware or acombination, resulting in logic or circuitry which supports execution orperformance of embodiments described herein.

For simulations, program code may represent hardware using a hardwaredescription language or another functional description language whichessentially provides a model of how designed hardware is expected toperform. Program code may be assembly or machine language, or data thatmay be compiled and/or interpreted. Furthermore, it is common in the artto speak of software, in one form or another as taking an action orcausing a result. Such expressions are merely a shorthand way of statingexecution of program code by a processing system which causes aprocessor to perform an action or produce a result.

Each program may be implemented in a high level procedural, declarative,and/or object-oriented programming language to communicate with aprocessing system. However, programs may be implemented in assembly ormachine language, if desired. In any case, the language may be compiledor interpreted.

Program instructions may be used to cause a general-purpose orspecial-purpose processing system that is programmed with theinstructions to perform the operations described herein. Alternatively,the operations may be performed by specific hardware components thatcontain hardwired logic for performing the operations, or by anycombination of programmed computer components and custom hardwarecomponents. The methods described herein may be provided as a computerprogram product, also described as a computer or machine accessible orreadable medium that may include one or more machine accessible storagemedia having stored thereon instructions that may be used to program aprocessing system or other electronic device to perform the methods.

Program code, or instructions, may be stored in, for example, volatileand/or non-volatile memory, such as storage devices and/or an associatedmachine readable or machine accessible medium including solid-statememory, hard-drives, floppy-disks, optical storage, tapes, flash memory,memory sticks, digital video disks, digital versatile discs (DVDs),etc., as well as more exotic mediums such as machine-accessiblebiological state preserving storage. A machine readable medium mayinclude any mechanism for storing, transmitting, or receivinginformation in a form readable by a machine, and the medium may includea tangible medium through which electrical, optical, acoustical or otherform of propagated signals or carrier wave encoding the program code maypass, such as antennas, optical fibers, communications interfaces, etc.Program code may be transmitted in the form of packets, serial data,parallel data, propagated signals, etc., and may be used in a compressedor encrypted format.

Program code may be implemented in programs executing on programmablemachines such as mobile or stationary computers, personal digitalassistants, smart phones, mobile Internet devices, set top boxes,cellular telephones and pagers, consumer electronics devices (includingDVD players, personal video recorders, personal video players, satellitereceivers, stereo receivers, cable TV receivers), and other electronicdevices, each including a processor, volatile and/or non-volatile memoryreadable by the processor, at least one input device and/or one or moreoutput devices. Program code may be applied to the data entered usingthe input device to perform the described embodiments and to generateoutput information. The output information may be applied to one or moreoutput devices. One of ordinary skill in the art may appreciate thatembodiments of the disclosed subject matter can be practiced withvarious computer system configurations, including multiprocessor ormultiple-core processor systems, minicomputers, mainframe computers, aswell as pervasive or miniature computers or processors that may beembedded into virtually any device. Embodiments of the disclosed subjectmatter can also be practiced in distributed computing environments,cloud environments, peer-to-peer or networked microservices, where tasksor portions thereof may be performed by remote processing devices thatare linked through a communications network.

A processor subsystem may be used to execute the instruction on themachine-readable or machine accessible media. The processor subsystemmay include one or more processors, each with one or more cores.Additionally, the processor subsystem may be disposed on one or morephysical devices. The processor subsystem may include one or morespecialized processors, such as a graphics processing unit (GPU), adigital signal processor (DSP), a field programmable gate array (FPGA),or a fixed function processor.

Although operations may be described as a sequential process, some ofthe operations may in fact be performed in parallel, concurrently,and/or in a distributed environment, and with program code storedlocally and/or remotely for access by single or multi-processormachines. In addition, in some embodiments the order of operations maybe rearranged without departing from the spirit of the disclosed subjectmatter. Program code may be used by or in conjunction with embeddedcontrollers.

Examples, as described herein, may include, or may operate on,circuitry, logic or a number of components, modules, or mechanisms.Modules may be hardware, software, or firmware communicatively coupledto one or more processors in order to carry out the operations describedherein. It will be understood that the modules or logic may beimplemented in a hardware component or device, software or firmwarerunning on one or more processors, or a combination. The modules may bedistinct and independent components integrated by sharing or passingdata, or the modules may be subcomponents of a single module, or besplit among several modules. The components may be processes running on,or implemented on, a single compute node or distributed among aplurality of compute nodes running in parallel, concurrently,sequentially or a combination, as described more fully in conjunctionwith the flow diagrams in the figures. As such, modules may be hardwaremodules, and as such modules may be considered tangible entities capableof performing specified operations and may be configured or arranged ina certain manner. In an example, circuits may be arranged (e.g.,internally or with respect to external entities such as other circuits)in a specified manner as a module. In an example, the whole or part ofone or more computer systems (e.g., a standalone, client or servercomputer system) or one or more hardware processors may be configured byfirmware or software (e.g., instructions, an application portion, or anapplication) as a module that operates to perform specified operations.In an example, the software may reside on a machine-readable medium. Inan example, the software, when executed by the underlying hardware ofthe module, causes the hardware to perform the specified operations.Accordingly, the term hardware module is understood to encompass atangible entity, be that an entity that is physically constructed,specifically configured (e.g., hardwired), or temporarily (e.g.,transitorily) configured (e.g., programmed) to operate in a specifiedmanner or to perform part or all of any operation described herein.Considering examples in which modules are temporarily configured, eachof the modules need not be instantiated at any one moment in time. Forexample, where the modules comprise a general-purpose hardware processorconfigured, arranged or adapted by using software; the general-purposehardware processor may be configured as respective different modules atdifferent times. Software may accordingly configure a hardwareprocessor, for example, to constitute a particular module at oneinstance of time and to constitute a different module at a differentinstance of time. Modules may also be software or firmware modules,which operate to perform the methodologies described herein.

In this document, the terms “a” or “an” are used, as is common in patentdocuments, to include one or more than one, independent of any otherinstances or usages of“at least one” or “one or more.” In this document,the term “or” is used to refer to a nonexclusive or, such that “A or B”includes “A but not B,” “B but not A,” and “A and B,” unless otherwiseindicated. In the appended claims, the terms “including” and “in which”are used as the plain-English equivalents of the respective terms“comprising” and “wherein.” Also, in the following claims, the terms“including” and “comprising” are open-ended, that is, a system, device,article, or process that includes elements in addition to those listedafter such a term in a claim are still deemed to fall within the scopeof that claim. Moreover, in the following claims, the terms “first,”“second,” and “third,” etc. are used merely as labels, and are notintended to suggest a numerical order for their objects.

While this subject matter has been described with reference toillustrative embodiments, this description is not intended to beconstrued in a limiting or restrictive sense. For example, theabove-described examples (or one or more aspects thereof) may be used incombination with others. Other embodiments may be used, such as will beunderstood by one of ordinary skill in the art upon reviewing thedisclosure herein. The Abstract is to allow the reader to quicklydiscover the nature of the technical disclosure. However, the Abstractis submitted with the understanding that it will not be used tointerpret or limit the scope or meaning of the claims.

What is claimed is:
 1. A system for monitoring context related to sleepquality in an environment, comprising: a database configured to storesensor data, user profiles, user preferences, sleep data, a plurality ofcorrelation data, environmental factors, and context data; a correlationengine to correlate the environmental factors with the context and sleepdata corresponding to a user, the environmental factors, context andsleep data to be retrieved from the database, the correlation enginearranged to provide a set of correlated data, wherein the plurality ofenvironmental factors, context and sleep data are to be collected by oneor more sensors communicatively coupled to the system, when inoperation; and a recommendation engine arranged to analyze the set ofcorrelated data and at least one possible change, wherein the possiblechange is a change to either the environment or user behavior, andwherein the recommendation engine is arranged to provide at least onerecommendation for change, wherein the at least one recommendation is tobe stored in the database.
 2. The system as recited in claim 1, furthercomprising the one or more sensors communicatively coupled to thesystem, wherein the one or more sensors comprise at least onephysiological, biometrical or environmental sensing device.
 3. Thesystem as recited in claim 2, wherein the one or more sensorscommunicatively coupled to the system are selected from a group ofsensors consisting of an accelerometer, a heart rate monitor, an EEGmonitor, a respiration monitor, a skin temperature monitor, a motiondetector, an ambient temperature monitor, an audio capture device, avideo capture device, a sound pressure device, a wireless locationsensing device, a barometric pressure monitor, a global positioningsensor, and a compass.
 4. The system as recited in claim 1, furthercomprising: contextual inferencing logic to identify, by inference, acontext classification associated with sensor or perceptual readings,the readings associated with the user or the environment or behavior ofthe user, wherein the context classification is to be used by thecorrelation engine and provided with the set of correlated data.
 5. Thesystem as recited in claim 4, wherein the contextual classificationcomprises at least one contextual factor associated with the user, theat least one contextual factor including duration of time in deep sleep,duration of time in light sleep, duration of time in REM sleep, sleepduration, number of sleep interrupts, duration of sleep interrupts,offset of go to sleep time from median of habitual go to sleep time,offset of go to bed time from median of habitual go to bed time, time togo to sleep, audio events associated with sleep interrupt, or lightlevels associated with sleep interrupt.
 6. The system as recited inclaim 4, wherein the contextual classification comprises at least onecontextual factor associated with the user, the at least one contextualfactor including sleep time, recent activity, stress level, or location.7. The system as recited in claim 4, further comprising: sleepenvironment inferencing logic to analyze aspects of the environmentaffecting sleep quality, wherein to analyze aspects of the environmentis to classify measurable data associated with at least one short termor long term event, wherein the event classification is to be used bythe correlation engine and provided with the set of correlated data. 8.The system as recited in claim 7, wherein the at least one short term orlong term event is associated with a person in the environment otherthan the user.
 9. The system as recited in claim 7 wherein the aspectsof the environment affecting sleep quality are to be collected by atleast one of a wearable device worn by the user or a sensor in proximityof the environment.
 10. The system as recited in claim 7, wherein theaspects of the environment affecting sleep quality include at least oneof audio context, decibel level, temperature, humidity, light level,motion detection, or sleep location.
 11. The system as recited in claim7, further comprising: sleep inference logic to analyze sensor dataassociated with a sleep cycle of the user, the analysis to identify, byinference, a sleep quality measure, the sleep quality measure to be usedby the correlation engine and provided with the set of correlated data.12. The system as recited in claim 11, wherein a short term or long termevent is associated with a person in the environment other than theuser, and wherein the sleep inference logic is to correlate the shortterm or long term event with the sleep quality measure.
 13. The systemas recited in claim 11 wherein the sensor data associated with a sleepcycle of the user are to be collected by at least one of a wearabledevice worn by the user or a sensor in proximity of the user.
 14. Thesystem as recited in claim 1, wherein at least a portion of the set ofcorrelated data is provide to a crowd-sourced data server to be used inmaking recommendations to a second user, wherein the portion is selectedbased on a profile associated with user that defines data permissible toshare with the second user.
 15. The system as recited in claim 1,wherein the recommendation engine is to access correlated data from asecond user via a crowd-sourced data server, the correlated data from asecond user to be used in the analysis of possible changes to theenvironment or behavior of the user to assist in providing therecommendation for change.
 16. A computer implemented method forcorrelating context related to sleep quality, comprising: correlating atleast one of static environmental data, context of a user, orenvironmental event data with sleep data of the user, as correlatedsleep data, wherein the correlation is associated with a common temporalfactor; identifying in the correlated sleep data, combinations ofcontextual and environmental factors that affect the sleep quality ofthe user; and providing a change recommendation to the user, wherein thechange recommendation is to recommend a change in at least one of thestatic environment or user behavior.
 17. The method as recited in claim16, further comprising: accessing correlated sleep, environmental andcontext data associated with a second user for use in providing thechange recommendation to the user.
 18. The method as recited in claim17, further comprising: accessing the data associated with the seconduser from a crowd-sourced data server.
 19. The method as recited inclaim 16, further comprising: providing at least a portion of thecorrelated sleep data to a crowd-sourced data server to be used inmaking recommendations for a second user, wherein the portion isselected based on a profile associated with user, the profile definingdata permissible to share with the second user.
 20. The method asrecited in claim 16, further comprising: identifying staticenvironmental data and parameters; identifying user context includingphysical state, emotional state, recent activity, or stress level;identifying sleep data of the user during a sleep cycle; and identifyingan environmental event that occur during the sleep cycle, wherein theenvironmental event includes audio, visual or motion events of short orlong duration, wherein the identified static environmental data andparameters, user context, sleep data of the user, and the environmentalevent are correlated in the correlating to provide a set of correlateddata.
 21. At least one computer readable storage medium havinginstructions for correlating context related to sleep quality storedthereon, the instructions when executed on a machine cause the machineto: correlate at least one of static environmental data, context of auser, or environmental event data with sleep data of the user, ascorrelated sleep data, wherein the correlation is associated with acommon temporal factor; identify in the correlated sleep data,combinations of contextual and environmental factors that affect thesleep quality of the user; and provide a change recommendation to theuser, wherein the change recommendation is to recommend a change in atleast one of the static environment or user behavior.
 22. The at leastone medium as recited in claim 21, further comprising instructions to:access correlated sleep, environmental and context data associated witha second user for use in providing the change recommendation to theuser.
 23. The at least one medium as recited in claim 22, furthercomprising instructions to access the data associated with the seconduser from a crowd-sourced data server.
 24. The at least one medium asrecited in claim 21, further comprising instructions to: provide atleast a portion of the correlated sleep data to a crowd-sourced dataserver to be used in making recommendations for a second user, whereinthe portion is selected based on a profile associated with user, theprofile defining data permissible to share with the second user.
 25. Theat least one medium as recited in claim 21, further comprisinginstructions to: identify static environmental data and parameters;identify user context including physical state, emotional state, recentactivity, or stress level; identify sleep data of the user during asleep cycle; and identify an environmental event that occur during thesleep cycle, wherein the environmental event includes audio, visual ormotion events of short or long duration, wherein the identified staticenvironmental data and parameters, user context, sleep data of the user,and the environmental event are correlated in the correlating to providea set of correlated data.